package com.yanjiali.service;


import com.yanjiali.enumerate.FileTypeEnum;
import com.yanjiali.model.req.FileUploadReq;
import com.yanjiali.model.resp.FileUploadResp;
import com.yanjiali.model.resp.WebDirectResp;

import java.io.IOException;

/**
 * @Package: com.yanjiali.service
 * @Author: yanjiali
 * @Created: 2025/4/13 20:01
 * 文件上传业务接口
 */
public interface FileUploadService {

    /**
     * 生成 Presigned URL（带校验）
     * @param filename
     * @param fileTypeEnum
     * @param expirySeconds 有效时间
     * @return
     */
    WebDirectResp generatePresignedUrl(String filename, FileTypeEnum fileTypeEnum, int expirySeconds);

    /**
     * 文件上传普通方式
     * @param fileUploadReq
     * @return
     */
    FileUploadResp fileUpload(FileUploadReq fileUploadReq) throws IOException;
}
